Skip to content

Conversation

@miyataka
Copy link
Contributor

Description

fixed indentation and formatting based on https://litestream.io/guides/s3/

Motivation and Context

the document includes conflicting statements.

s3 configuration page says

dbs:
  - path: /path/to/local/db
    replica:
      url: s3://BUCKETNAME/PATHNAME

but etc/litestream.yml and Running in a Docker container page say

# dbs:
#  - path: /path/to/primary/db            # Database to replicate from
#    replicas:
#      - path: /path/to/replica           # File-based replication
#      - url:  s3://my.bucket.com/db      # S3-based replication

These are conflicting about replica and replicas key, and its child structure.

How Has This Been Tested?

Latest version (v0.3.13) runs with former one, but latter failed. on macOS.

Types of changes

  • Bug fix (non-breaking change which fixes an issue)
  • New feature (non-breaking change which adds functionality)
  • Breaking change (would cause existing functionality to not work as expected)

Checklist

  • My code follows the code style of this project (go fmt, go vet)
  • I have tested my changes (go test ./...)
  • I have updated the documentation accordingly (if needed)

corylanou added a commit that referenced this pull request Nov 5, 2025
…rmat

Update all documentation, examples, and test helpers to use the
singular `replica:` format instead of the deprecated `replicas:` array
format. This aligns with:
- Current codebase architecture (one replica per database)
- Online documentation standard at litestream.io
- Deprecation of plural format in cmd/litestream/main.go:478-479

Changes:
- etc/litestream.yml: Convert to singular format (from PR #749)
- .claude/agents/replica-client-developer.md: Update config pattern
- .claude/commands/add-storage-backend.md: Update documentation example
- .github/workflows/commit.yml: Update CI test configs
- AGENTS.md: Update configuration example
- tests/integration/soak_helpers.go: Update test config generator

The code continues to support both formats for backward compatibility,
but the singular format is now the documented standard.

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <[email protected]>
@corylanou
Copy link
Collaborator

Thank you @miyataka for identifying this documentation inconsistency and providing the initial fix! Your observation about the mismatch between the online docs and the example configuration file was spot on.

I've expanded on your excellent work to update all documentation and test files throughout the codebase to use the consistent singular replica: format. This includes:

  • Your original fix to etc/litestream.yml
  • Additional updates to .claude/ documentation
  • CI workflow configurations
  • Test helper files
  • Agent documentation

The changes are now in PR #822, which includes your original commit with proper attribution. I'm closing this PR in favor of the more comprehensive fix, but your contribution was essential to identifying and starting to address this issue.

Thank you again for your contribution! 🙏

@corylanou
Copy link
Collaborator

Closing in favor of the more comprehensive fix in #822, which includes your original changes plus broader documentation updates across the entire codebase. Thank you again for your contribution!

@corylanou corylanou closed this Nov 5, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants